|
International Data Encryption Algorithm (IDEA) はチューリッヒ工科大学の James Massey と来学嘉が設計し、1991年に発表したブロック暗号。DESの代替を意図したアルゴリズムである。IDEAは PES (Proposed Encryption Standard) を若干手直しした暗号であり、元々は IPES (Improved PES) と呼ばれていた。 この暗号は Hasler Foundation(後に Ascom-Tech AG に吸収された)との研究契約の下で設計された。多数の国で特許を取得しているが、非商用利用については自由に使うことが容認されていた。"IDEA" という名称は商標でもある。アメリカにおける特許の有効期限が2012年1月をもって失効したことで、全世界で自由に使うことができるようになった。 IDEAは Pretty Good Privacy (PGP) v2.0 で使われていた。これは、v1.0で使われていたBassOmaticが安全でないと判明したために導入されたものである。IDEAはOpenPGP規格ではオプションのアルゴリズムとされている。GNU Privacy Guard (GnuPG)では、特許の失効を受けて1.4.13/2.0.20から限定的にIDEAをサポートするようになった。 == 操作 == IDEAのブロック長は64ビットで、128ビットの鍵を使う。ラウンドと呼ばれる同じ操作を8回行い、最後に出力段の変換(ハーフラウンド)を行う。暗号化と復号の工程はよく似ている。代数学的にある意味で「非互換」とも言える異なる群からの操作(加算や乗算の合同式、ビット単位の排他的論理和 (XOR) など)を次々に行うことで、IDEAのセキュリティが生じている。演算をより詳細に述べると、すべて16ビット単位に以下のような操作を行う。 * ビット単位の排他的論理和(図では青い丸に十字で示している ⊕) * 加算結果を 216 を法として合同にしたもの(緑色の四角に十字 ⊞) * 乗算結果を 216+1 を法として合同にしたもの。全てゼロのワード (0x0000) は216と解釈する。(赤い丸にドット ⊙) 図にあるラウンドを8回繰り返した後、ハーフラウンドを最後に1回行う。ラウンドの出力は16ビットが4つ並んでいるが、このうち2番目と3番目を入れ替え、右から順に以下の操作を行う。 * K1との乗算結果を 216+1 を法として合同にする。 * K2との加算結果を 216 を法として合同にする。 * K3との加算結果を 216 を法として合同にする。 * K4との乗算結果を 216+1 を法として合同にする。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「International Data Encryption Algorithm」の詳細全文を読む スポンサード リンク
|